home *** CD-ROM | disk | FTP | other *** search
/ Personal Computer World 2007 September / PCWSEP07.iso / Software / Linux / Linux Mint 3.0 Light / LinuxMint-3.0-Light.iso / casper / filesystem.squashfs / var / lib / dpkg / info / initramfs-tools.preinst < prev    next >
Encoding:
Text File  |  2007-04-13  |  2.1 KB  |  73 lines

  1. #!/bin/sh
  2.  
  3. set -e
  4.  
  5. case "$1" in
  6.     install)
  7.         mkdir -p /etc/initramfs-tools/conf.d
  8.  
  9.         # First time install.  Can we autodetect the RESUME partition?
  10.         if [ -r /proc/swaps ]; then
  11.             RESUME=$(tail -n $(($(wc -l /proc/swaps | awk ' { print $1 } ') - 1)) /proc/swaps | sort -rk3 | head -n 1 | awk ' { print $1 } ')
  12.             UUID=$(/sbin/vol_id -u "$RESUME" || true)
  13.             if [ -n "$UUID" ]; then
  14.                 RESUME="UUID=$UUID"
  15.             fi
  16.         fi
  17.  
  18.         # Inherit initrd-tools settings if possible.
  19.         if [ -e /etc/mkinitrd/mkinitrd.conf ]; then
  20.              . /etc/mkinitrd/mkinitrd.conf
  21.         fi
  22.         if [ -e ${RESUME} ]; then
  23.             echo "RESUME=${RESUME}" > /etc/initramfs-tools/conf.d/resume
  24.         fi
  25.  
  26.         # Add initrd-tools modules, while trying to minimize prompting
  27.         if [ -e /etc/mkinitrd/modules ]; then
  28.             cp /etc/mkinitrd/modules /etc/initramfs-tools/
  29.             sed -i \
  30.               -e 's/\/etc\/mkinitrd\/modules: Kernel modules to load for initrd./List of modules that you want to include in your initramfs./g' \
  31.               -e 's/mkinitrd/update-initramfs/g' \
  32.               -e '/# This file should/,/one per line\./d' \
  33.               -e 's/Comments begin with.*/Syntax:  module_name [args ...]/' \
  34.               -e 's/^#  ext2$/# raid1/' \
  35.               -e 's/^#  wd io=0x300$/# sd_mod/' \
  36.               -e '/^ide-generic/d' \
  37.               -e '/^ide-disk/d' \
  38.               -e '/^ext2/d' \
  39.               -e '/^ext3/d' \
  40.               /etc/initramfs-tools/modules
  41.         fi
  42.  
  43.         if [ -e /etc/mkinitrd/DSDT ]; then
  44.             cp /etc/mkinitrd/DSDT /etc/initramfs-tools/DSDT.aml
  45.         fi
  46.     ;;
  47.     upgrade)
  48.     if [ -n "$2" ] && dpkg --compare-versions "$2" lt "0.61"; then
  49.         if [ -d /etc/initramfs-tools ]; then
  50.             echo
  51.             echo "Warning: /etc/initramfs-tools already exists."
  52.             echo "         Please remove it for upgrade."
  53.             echo
  54.             exit 1
  55.         fi
  56.         if [ -d /etc/mkinitramfs ]; then
  57.             # Reverting automatic edits to conffiles is perfectly acceptable. :P
  58.             if [ -f /etc/mkinitramfs/initramfs.conf ]; then
  59.                 . /etc/mkinitramfs/initramfs.conf
  60.             fi
  61.             if [ -n ${RESUME} ]; then
  62.                 mkdir -p /etc/mkinitramfs/conf.d
  63.                 echo "RESUME=${RESUME}" > /etc/mkinitramfs/conf.d/resume
  64.                 sed -i -e "s/^RESUME=.*/#RESUME=/" /etc/mkinitramfs/initramfs.conf
  65.             fi
  66.             mv /etc/mkinitramfs /etc/initramfs-tools
  67.         fi
  68.     fi
  69.     ;;
  70. esac
  71.  
  72.  
  73.